package models

import (
	"ShopSupplierApi/models/mysql"
	"strconv"
)

//MapStringInterface map[string]interface{}
type MapStringInterface map[string]interface{}

//Page 分页信息结构
type Page struct {
	Start  int   //开始记录数
	Length int   //数据总长度
	Rows   int64 //记录总条数
	Count  bool  //是否统计总条数
}

//CreatePage 创建一个分页信息
func CreatePage() *Page {
	return &Page{Length: 50}
}

//CountRows 统计数据总条数
func (p *Page) CountRows(sql string, args ...interface{}) {
	if !p.Count { //如果设置了不统计,直接返回
		return
	}
	p.Rows, _ = mysql.Count(sql, args...)
}

//SQL 转换SQL语句
func (p *Page) SQL(sql string) string {
	return sql + " LIMIT " + strconv.Itoa(p.Start) + "," + strconv.Itoa(p.Length)
}
